import request from '@/modules/index/utils/request';
import qs from "qs";
import { downloadFile } from '@/utils/common';


const store = {
    state: {
    },
    mutations: {
    },
    actions: {
        // 代码裁剪抽屉中回显内容
        async getCheckboxList(context, id) {
            const data = await request({
                url: `/algoTemplateCondition/getConditionByParams?algoTemplateVersionId=${id}`,
                method: 'get'
            });
            return data;
        },
        // 代码裁剪弹框中复选框内容
        async getCheckboxListDialog(context, id) {
            const data = await request({
                url: `/algoTemplateCondition/getConditionByParams?algoTemplateId=${id}`,
                method: 'get'
            });
            return data;
        },
        // 测试弹框中左边列表数据
        async getTestModelTableList(context, params) {
            const data = await request({
                url: `/algoTemplateFile/testList?id=${params.id}&pageSize=${params.pageSize}&page=${params.page}&temp=${params.temp}`,
                method: 'get'
            });
            return data;
        },
        // 代码裁剪抽屉中下载功能
        async algoTemplateVersionConfirm(context, params) {
            const data = await request({
                url: `/algoTemplateCondition/selectAlgoTemplateVersion?algoTemplateId=${params.algoTemplateId}`,
                method: 'post',
                data: params.list,
                responseType: 'blob'

            });
            downloadFile(data)
            return data;
        },
        // 测试弹框中右边列表数据
        async getRunStatusResult(context, params) {
            const data = await request({
                url: `/algoTemplateFile/testAlgo?id=${params.id}&temp=${params.temp}`,
                method: 'post'
            });
            return data;
        },
        // 获取100个数据
        async getHundredData(context, params) {
            const data = await request({
                url: `/algoTemplateFile/lastTestList?id=${params.id}&temp=${params.temp}`,
                method: 'get'
            });
            return data;
        },
        // 文件上传
        async uploadAlgoFile(context, params) {
            const data = await request({
                url: `/algoTemplateFile/uploadTemp?id=${params.id}&temp=${params.temp}`,
                method: 'post',
                data: params.file
            });
            return data;
        },
        // 文件下载
        async downloadAlgoFile(context, params) {
            const data = await request({
                url: `/algoTemplateFile/downloadTestList?id=${params.id}&temp=${params.temp}`,
                method: 'post',
                responseType: 'blob'
            });
            downloadFile(data)
            return data;
        },
        // 获取历史版本中的数据
        async getHistoryVersionTable(context, params) {
            const data = await request({
                url: `/algoClipRecord/pageList?templateId=${params.templateId}&pageSize=${params.pageSize}&page=${params.page}`,
                method: 'get'
            });
            return data;
        },
        // 历史版本文件下载
        async historyDownloadFile(context, params) {
            const data = await request({
                url: `/algoClipRecord/download?id=${params.id}`,
                method: 'post',
                responseType: 'blob'
            });
            downloadFile(data)
            return data;
        },
    }
};

export default store;
